package mww.javabean.service;

import java.util.List;
import java.util.Map;

import mww.common.ServiceException;
import mww.javabean.entity.Score;
import mww.javabean.entity.StudentC;

public interface StudentCService {
	// 添加学生选课信息
	public void addStudentC(StudentC studentC) throws ServiceException;

	// 根据学号、课程号、教师编号删除学生选课信息
	public void delStudentCById(String studentNo, String courseNo,String teacherNo,Integer tcTeacherNo) throws ServiceException;

	// 根据教师编号删除学生选课信息
	public void delStudentCByTeacherNo(String teacherNo) throws ServiceException;

	// 根据教师编号和课程编号删除学生选课信息
	public void delStudentCByTnoCno(String teacherNo, String courseNo) throws ServiceException;

	// 根据学号查找所有学生选课(及成绩)
	public List findStudentCByStudentNo(String studentNo) throws ServiceException;

	// 根据教师编号和课程编号查询所有学生-带分页
	public List findAllStudentById(String teacherNo, String courseNo,Integer tcTeacherNo) throws ServiceException;

	// 根据学生学号查询所有已选课程(上课时间、地点)信息
	public List findAllCourseByStudentNo(String studentNo) throws ServiceException;

	// 根据教师编号和课程编号查询最低分、最高峰、平均分
	public Score findMaxMinAvg(String teacherNo, String courseNo,Integer tcTeacherNo) throws ServiceException;

	// 根据学生编号、课程编号、教师编号更新成绩
	public void updateScore(String studentNo,  String teacherNo,String courseNo,Integer tcTeacherNo, float usualScore, float lastScore,Integer status)
			throws ServiceException;

	public Score calAll(String studentNo) throws ServiceException;

	// 检测学生选课是否冲突
	public boolean checkConflict(String studentNo, String tcTime) throws ServiceException;

	// 检测任课信息是否已被学生选
	public boolean checkStudentCExistById(String teacherNo, String courseNo, Integer tcTeacherNo)
			throws ServiceException;
}
